package com.mryx.demo.mapper;

import com.mryx.demo.pojo.Find;
import com.mryx.demo.pojo.Findclassification;
import io.swagger.annotations.ApiImplicitParam;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * 新闻发现数据访问层接口
 */
public interface FindMapper {
    /**
     * 获取所有新闻类型
     * @return
     */
    List<Findclassification> getAllType();


    /**
     * 通过类型id获取类型信息
     * @return
     */
    Findclassification getTypeByTid(@Param("tid") Integer tid);

    /**
     * 修改新闻类型
     * @param fclass
     * @return
     */
    Integer updType(@Param("fclass") Findclassification fclass);

    /**
     * 添加新闻类型
     * @return
     */
    Integer addType(@Param("fclass") Findclassification fclass);

    /**
     * 获取所有新闻
     * @return
     */
    List<Find> getAllFind();

    /**
     * 获取新闻总数
     * @return
     */
    @Select("select count(1) from find")
    Integer getCount();

    /**
     * 根据新闻Type获取新闻信息
     * @param fcid  新闻类型编号
     * @return  新闻集合
     */
    List<Find> getAllFindByType(@Param("fcid") Integer fcid);

    /**
     * 根据新闻ID获取新闻详情
     * @param fid   新闻编号
     * @return  新闻对象
     */
    Find getFindInfoById(@Param("fid") Integer fid);

    /**
     * 管理员添加新闻
     * @param find 新闻对象
     * @return  0：失败1：成功
     */
    Integer addFind(@Param("find") Find find);

    /**
     * 管理员删除新闻
     * @param fid 新闻对象
     * @return  0：失败1：成功
     */
    Integer delFind(@Param("fid")Integer fid);

    /**
     * 管理员修改新闻
     * @param find 新闻对象
     * @return  0：失败1：成功
     */
    Integer updFind(@Param("find") Find find);
}
